package modelo;

import java.io.IOException;
import java.util.LinkedList;
import java.util.ListIterator;


public class Juego {
 
    private EstadosDelJuego estado;
    private LinkedList<Nivel> niveles;
    
    
    public Juego(Nivel uno, Nivel dos){
    	this.niveles = new LinkedList<Nivel>();
    	this.niveles.add(uno);
    	this.niveles.add(dos);
    	this.estado = EstadosDelJuego.Jugando;
    }
    
    
    public void jugar(){
    	ListIterator<Nivel> it = this.niveles.listIterator();
    	Nivel nivel = it.next();
    	nivel.jugar();
    	
    	while(it.hasNext()){
    		
    		if(nivel.actualizarEstado() == EstadosDelJuego.Perdido){
    			break;
    		}
    		
    		nivel = it.next();
    		nivel.jugar();
    	}
    	
    	this.setEstado(nivel.actualizarEstado());
    }
		
	
    public static void main(String[] args) throws IOException{
		Nivel uno = new Nivel();		
		uno.cargarNIvelUno();
		
		Nivel dos = new Nivel();
		dos.cargarNivelDos();		
		
		Juego juego = new Juego(uno , dos);		
		
		juego.jugar();

	}

	public EstadosDelJuego getEstado() {
		return this.getEstado();
	}

	public void setEstado(EstadosDelJuego estado) {
		this.estado = estado;
	}

}
